package com.fr.lintcode;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

/**
*作者：furong
*日期：2017年1月12日
*时间：下午6:27:09
*/
public class Q174 {

    ListNode removeNthFromEnd(ListNode head, int n) {
        if (head == null) {
            return null;
        }
        List<ListNode> list = new ArrayList<>();
        ListNode node = head;
        while (node != null) {
            list.add(node);
            node = node.next;
        }
        int length = list.size();
        list.add(null);
        if (length > n) {
            node = list.get(length - n - 1);
            node.next = list.get(length - n + 1);
        } else if (length == n) {
            return list.get(1);
        }
        return list.get(0);

    }

    @Test
    public void testA() {
        ListNode l1 = new ListNode(1);
        ListNode l2 = new ListNode(2);
        ListNode l3 = new ListNode(3);
        ListNode l4 = new ListNode(4);
        ListNode l5 = new ListNode(5);
        l1.next = l2;
        l2.next = l3;
        l3.next = l4;
        l4.next = l5;
        removeNthFromEnd(l1, 5);
        System.out.println();

    }
}
